<?php
/* ###############################################################################
 *
 * $Id: mysql.php 31 2014-09-29 14:38:37Z expertsoftware.i@gmail.com $
 *
 * システム名
 *   PHP Web フレームワーク [Ponzu]
 *
 * 機能
 *   MySQL ライブラリ
 *
 * バージョン
 *   0.0.0_0
 *
 * ライセンス
 *   LGPL v2.0
 *
 * 履歴
 *   2007/07/01 K.Sonohara
 *     新規作成。
 *
 * ###############################################################################*/

/**
 * DB接続
 * @access public
 * @param dbc データベースコンフィグ
 * @param p 接続プール有効ならtrue
 * @return 接続変数
 */
function beginDB($dbc) {
  $db = new mysqli($dbc["hostname"], $dbc["username"], $dbc["password"], $dbc["database"]);
  if ($db->connect_errno) {
    return null;
  } else {
    $db->select_db($dbc["database"]);
    $db->autocommit(false);
  }

  return $db;
}

function escapeDB($db, $value) {
  return $db->real_escape_string($value);
}

/**
 * DB終了
 * @access  public
 * @param db 接続変数
 */
function endDB($db) {
  if ($db) {
    try {
      $db->rollback();
    } catch(Exception $e) {
    }

    try {
      $db->close();
    } catch(Exception $e) {
    }
  }
}

/**
 * DBロールバック
 * @access  public
 * @param db 接続変数
 * @param message エラーメッセージ格納配列
 */
function rollbackDB($db) {
  $db->rollback();
}

/**
 * DBコミット
 * @access  public
 * @param db 接続変数
 * @param message エラーメッセージ格納配列
 */
function commitDB($db) {
  $db->commit();
}

/**
 * DBトランザクション開始
 * @access  public
 * @param db 接続変数
 * @param message エラーメッセージ格納配列
 */
function sqlBeginDB($db) {
  $db->rollback();
}

/**
 * SQL実行
 * @access  public
 * @param sql SQL分
 * @param db 接続変数
 * @param message エラーメッセージ格納配列
 */
function queryDB($sql, $db) {
  return $db->query($sql);
}

function versionDB() {
  return mysql_get_client_info();
}

?>
